#ifndef _UNIT_TEST_POLICIES
#define _UNIT_TEST_POLICIES

struct WrongResultException : public std::exception
{
	virtual const char* what() const throw()
	{
		return "WrongResultException Occured\n";
	}
};

template<class ElementType>
class TestPolicyAssert
{
public:
	static void HANDLE_RESULT(ElementType result, ElementType expectedResult)
	{
		assert(result == expectedResult);
	}

};

template<class ElementType>
class TestPolicyException
{
public:
	static void HANDLE_RESULT(ElementType result, ElementType expectedResult)
	{
		if (result != expectedResult)
		{
			WrongResultException excpt;
			throw excpt;
		}
	}

};


#endif /* _UNIT_TEST_POLICIES */
